import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.RandomUtil;
import com.bigmodel.contant.AmdbId;
import com.bigmodel.contant.StepId;
import com.bigmodel.contant.SystemName;
import com.bigmodel.contant.VerbName;
import com.bigmodel.entity.QAEntity;
import com.bigmodel.util.ExcelUtil;
import com.bigmodel.util.FtlUtil;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SqlTrain_1030_v1 {

    private final static String OUT_PATH = "D:\\javacode\\bigmodel\\bigmodel\\sql_train_1030_v1\\";

    private final static String FREEMARKER_BASE_PATH = "sft/sql_train_1030_v1/";

    private static final int randomNumber = 20;


    private static List<String> verbList = null;
    private static List<String> systemNameList = null;
    private static List<String> nameList = null;
    private static List<String> stepIdList = null;

    private static final int HOUR12MAX = 12;
    private static final int HOUR23MAX = 23;
    private static final int MINUTE59MAX = 59;
    private static String[] chinese_0_59 = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十", "三十一", "三十二", "三十三", "三十四", "三十五", "三十六", "三十七", "三十八", "三十九", "四十", "四十一", "四十二", "四十三", "四十四", "四十五", "四十六", "四十七", "四十八", "四十九", "五十", "五十一", "五十二", "五十三", "五十四", "五十五", "五十六", "五十七", "五十八", "五十九"};
    private static String[] number_0_59 = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59"};

    private static String[] chinese_0_12 = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"};
    private static String[] number_0_12 = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"};

    private static String[] chinese_0_23 = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三"};
    private static String[] number_0_23 = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"};

    private static String[] chinese_1_30 = {"一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六", "二十七", "二十八", "二十九", "三十"};
    private static String[] number_1_30 = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30"};


    static {
        systemNameList = ListUtil.toList(SystemName.LIST_ARRAY);
        verbList = ListUtil.toList(VerbName.LIST_ARRAY);
        nameList = ListUtil.toList(AmdbId.LIST_ARRAY);
        stepIdList = ListUtil.toList(StepId.LIST_ARRAY);
    }


    public static void main(String[] args) {
        List<QAEntity> allEntityList = new ArrayList<>();
        allEntityList.addAll(T001());
        allEntityList.addAll(T002());
        allEntityList.addAll(T003());
//        allEntityList.addAll(T004());
//        allEntityList.addAll(T005());
//        allEntityList.addAll(T006());
//        allEntityList.addAll(T007());
//        allEntityList.addAll(T008());
//        allEntityList.addAll(T009());
//        allEntityList.addAll(T010());
        ExcelUtil.createExcelSql(allEntityList, OUT_PATH + "T001.xls");
    }


    private static List<QAEntity>  T001() {
        String code = "T001";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "昨天哪类工单最多？",
                "昨天哪类工单最多",
                "昨天哪类工单最多啊",
                "昨天哪种类型的工单数量最多？",
                "昨天哪个类别的工单最常见？",
                "昨天哪类工单最为频繁？",
                "昨天哪个种类的工单最多？",
                "昨天哪类工单最为集中？",
                "昨天哪个分类的工单最多？",
                "昨天哪类工单最为普遍？",
                "昨天哪个类型的工单最为常见？",
                "昨天哪类工单最为盛行？",
                "昨天哪个种类的工单最为频繁？",
                "昨天哪类工单最为广泛？",
                "昨天哪个分类的工单最为集中？",
                "昨天哪类工单最为普及？",
                "昨天哪个类型的工单最为盛行？",
                "昨天哪类工单最为流行？",
                "昨天哪个种类的工单最为广泛？",
                "昨天哪类工单最为普及？",
                "昨天哪个分类的工单最为流行？",
                "昨天哪类工单最为常见？",
                "昨天哪个类型的工单最为广泛？",
                "昨天哪类工单最为频繁？",
                "昨天哪个种类的工单最为盛行？",
                "昨天哪类工单最为集中？",
                "昨天哪个分类的工单最为普及？",
                "昨天哪类工单最为流行？",
                "昨天哪个类型的工单最为频繁？",
                "昨天哪类工单最为广泛？",
                "昨天哪个种类的工单最为常见？",
                "昨天哪类工单最为盛行？",
                "昨天哪个分类的工单最为流行？",
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }

        return allEntityList;
    }


    private static List<QAEntity>  T002() {
        String code = "T002";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "有余额被停机的主要问题是什么？",
                "有余额被停机的主要问题是什么",
                "有余额被停机的主要问题是哪些",
                "有余额被停机的主要问题是哪种",
                "有余额被停机的主要问题是哪种类型",
                "有余额被停机的主要问题是哪种类型？",
                "有余额被停机的主要问题是哪些类型",
                "有余额被停机的主要问题是哪类"
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                map.put("complaintType", "余额被停机");
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }


    private static List<QAEntity>  T003() {
        String code = "T003";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "查询各地客服投诉工单分布情况",
                "查询一下各地客服投诉工单分布情况",
                "查询各地客服投诉工单分布情况？",
                "查询一下各地客服投诉工单分布情况？"/*,
                "了解各地客服投诉工单的分布状况。",
                "掌握各地客服投诉工单的分布情况。",
                "研究各地客服投诉工单的分布趋势。",
                "探索各地客服投诉工单的分布模式。",
                "分析各地客服投诉工单的分布特点。",
                "调查各地客服投诉工单的分布规律。",
                "考察各地客服投诉工单的分布格局。",
                "观察各地客服投诉工单的分布形势。",
                "了解各地客服投诉工单的分布状况。",
                "掌握各地客服投诉工单的分布概况。",
                "研究各地客服投诉工单的分布情况。",
                "探索各地客服投诉工单的分布特征。",
                "分析各地客服投诉工单的分布趋势。",
                "调查各地客服投诉工单的分布模式。",
                "考察各地客服投诉工单的分布规律。",
                "观察各地客服投诉工单的分布形势。",
                "了解各地客服投诉工单的分布状况。",
                "掌握各地客服投诉工单的分布情况。",
                "研究各地客服投诉工单的分布趋势。",
                "探索各地客服投诉工单的分布模式。",
                "分析各地客服投诉工单的分布特点。",
                "调查各地客服投诉工单的分布规律。",
                "考察各地客服投诉工单的分布格局。",
                "观察各地客服投诉工单的分布形势。",
                "了解各地客服投诉工单的分布状况"*/
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }



    private static List<QAEntity>  T004() {
        String code = "T004";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "查询昨天工单最多的类别和数量",
                "查询昨日工单最多的类别和数量",
                "查看昨天工单数量最多的类别及其数量",
                "找出昨天工单量最大的类别以及对应的数量",
                "获取昨天工单最多的类别及其数量统计",
                "了解昨天工单数量最多的类别及其具体数量",
                "查看昨天工单最多的类别以及其对应的数量",
                "找出昨天工单量最大的类别以及其数量统计",
                "获取昨天工单最多的类别及其数量的详细信息",
                "了解昨天工单数量最多的类别及其具体的数量情况",
                "查看昨天工单最多的类别以及其数量的具体数据",
                "找出昨天工单量最大的类别以及其数量的详细统计",
                "获取昨天工单最多的类别及其数量的全面信息",
                "了解昨天工单数量最多的类别及其具体的数量概况",
                "查看昨天工单最多的类别以及其数量的详尽数据",
                "找出昨天工单量最大的类别以及其数量的完整统计",
                "获取昨天工单最多的类别及其数量的详细概述",
                "了解昨天工单数量最多的类别及其具体的数量细节",
                "查看昨天工单最多的类别以及其数量的精确数据",
                "找出昨天工单量最大的类别以及其数量的准确统计",
                "获取昨天工单最多的类别及其数量的全面概述",
                "了解昨天工单数量最多的类别及其具体的数量总结",
                "查看昨天工单最多的类别以及其数量的清晰数据",
                "找出昨天工单量最大的类别以及其数量的明确统计",
                "获取昨天工单最多的类别及其数量的详细总结",
                "了解昨天工单数量最多的类别及其具体的数量分析",
                "查看昨天工单最多的类别以及其数量的精确概述",
                "找出昨天工单量最大的类别以及其数量的确切统计",
                "获取昨天工单最多的类别及其数量的全面分析",
                "了解昨天工单数量最多的类别及其具体的数量解读",
                "查看昨天工单最多的类别以及其数量的精准概述"
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }


    private static List<QAEntity>  T005() {
        String code = "T005";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "查一下在线客服投诉工单最新10条数据",
                "请提供最近10条在线客服投诉工单的数据。",
                "我需要查看最新的10条在线客服投诉工单数据。",
                "能否提供最近10条在线客服投诉工单的信息？",
                "请列出最新的10条在线客服投诉工单数据。",
                "我需要获取最近的10条在线客服投诉工单数据。",
                "能否查询到最新的10条在线客服投诉工单记录？",
                "请提供最近10条在线客服投诉工单的详细信息。",
                "我需要了解最新的10条在线客服投诉工单情况。",
                "能否查看到最新的10条在线客服投诉工单内容？",
                "请列出最近10条在线客服投诉工单的相关数据。",
                "我需要获取最新的10条在线客服投诉工单的具体内容。",
                "能否查询到最近10条在线客服投诉工单的详细记录？",
                "请提供最近10条在线客服投诉工单的完整数据。",
                "我需要了解最新的10条在线客服投诉工单的具体情况。",
                "能否查看到最新的10条在线客服投诉工单的完整内容？",
                "请列出最近10条在线客服投诉工单的详细数据。",
                "我需要获取最新的10条在线客服投诉工单的详细情况。",
                "能否查询到最近10条在线客服投诉工单的完整记录？",
                "请提供最近10条在线客服投诉工单的具体信息。",
                "我需要了解最新的10条在线客服投诉工单的详细内容。",
                "能否查看到最新的10条在线客服投诉工单的具体数据？",
                "请列出最近10条在线客服投诉工单的完整信息。",
                "我需要获取最新的10条在线客服投诉工单的具体记录。",
                "能否查询到最近10条在线客服投诉工单的具体详情？",
                "请提供最近10条在线客服投诉工单的详细情况。",
                "我需要了解最新的10条在线客服投诉工单的完整记录。",
                "能否查看到最新的10条在线客服投诉工单的详细内容？",
                "请列出最近10条在线客服投诉工单的具体数据。",
                "我需要获取最新的10条在线客服投诉工单的详细内容。",
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }


    private static List<QAEntity>  T006() {
        String code = "T006";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "在线客服投诉工单一共有几种投诉分类",
                "在线客服投诉工单中有多少种不同的投诉分类？",
                "在在线客服投诉工单中，存在几种不同的投诉类型？",
                "在线客服投诉工单可以分为几种不同的投诉类别？",
                "在线客服投诉工单中涵盖了哪几种不同的投诉分类？",
                "在线客服投诉工单中包括了几种不同的投诉种类？",
                "在线客服投诉工单中涉及了哪几种不同的投诉分类？",
                "在线客服投诉工单中可以划分为哪几种不同的投诉类型？",
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }


    private static List<QAEntity>  T007() {
        String code = "T007";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "统计下今年每个月的客服投诉单数量",
                "请提供今年每个月的客服投诉单数量统计。",
                "我需要了解今年每个月的客服投诉单数量情况。",
                "能否统计出今年每个月的客服投诉单数量？",
                "请列出今年每个月的客服投诉单数量数据。",
                "我需要获取今年每个月的客服投诉单数量信息。",
                "能否查看到今年每个月的客服投诉单数量记录？",
                "请提供今年每个月的客服投诉单数量详细数据。",
                "我需要了解今年每个月的客服投诉单数量具体情况。",
                "能否查看到今年每个月的客服投诉单数量完整内容？",
                "请列出今年每个月的客服投诉单数量详细情况。",
                "我需要获取今年每个月的客服投诉单数量详细信息。",
                "能否查询到今年每个月的客服投诉单数量完整记录？",
                "请提供今年每个月的客服投诉单数量具体数据。",
                "我需要了解今年每个月的客服投诉单数量详细内容。",
                "能否查看到今年每个月的客服投诉单数量具体详情？",
                "请列出今年每个月的客服投诉单数量完整数据。",
                "我需要获取今年每个月的客服投诉单数量具体记录。",
                "能否查询到今年每个月的客服投诉单数量具体详情？",
                "请提供今年每个月的客服投诉单数量详细情况。",
                "我需要了解今年每个月的客服投诉单数量完整记录。",
                "能否查看到今年每个月的客服投诉单数量详细内容？",
                "请列出今年每个月的客服投诉单数量具体数据。",
                "我需要获取今年每个月的客服投诉单数量详细内容。",
                "能否查询到今年每个月的客服投诉单数量具体详情？",
                "请提供今年每个月的客服投诉单数量具体数据。",
                "我需要了解今年每个月的客服投诉单数量详细情况。",
                "能否查看到今年每个月的客服投诉单数量完整内容？",
                "请列出今年每个月的客服投诉单数量详细数据。",
                "我需要获取今年每个月的客服投诉单数量具体记录。",
                "能否查询到今年每个月的客服投诉单数量具体详情？",

        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }

    private static List<QAEntity>  T008() {
        String code = "T008";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "分类统计下客服投诉工单的一线接单人接单数量前3名",
                "请对客服投诉工单进行分类统计，列出一线接单人接单数量前3名。",
                "我需要了解客服投诉工单中一线接单人接单数量的前三名。",
                "能否对客服投诉工单进行分类统计，找出一线接单人接单数量最多的前三名？",
                "请提供客服投诉工单中一线接单人接单数量排名前三的数据。",
                "我需要获取客服投诉工单中一线接单人接单数量最高的前三名信息。",
                "能否查看到客服投诉工单中一线接单人接单数量最多的前三名记录？",
                "请提供客服投诉工单中一线接单人接单数量前三名的具体数据。",
                "我需要了解客服投诉工单中一线接单人接单数量的具体情况。",
                "能否查看到客服投诉工单中一线接单人接单数量完整的前三名内容？",
                "请列出客服投诉工单中一线接单人接单数量前三名的详细情况。",
                "我需要获取客服投诉工单中一线接单人接单数量详细的前三名信息。",
                "能否查询到客服投诉工单中一线接单人接单数量完整的前三名记录？",
                "请提供客服投诉工单中一线接单人接单数量前三名的具体数据。",
                "我需要了解客服投诉工单中一线接单人接单数量的详细情况。",
                "能否查看到客服投诉工单中一线接单人接单数量具体的前三名详情？",
                "请列出客服投诉工单中一线接单人接单数量前三名的完整数据。",
                "我需要获取客服投诉工单中一线接单人接单数量具体的前三名记录。",
                "能否查询到客服投诉工单中一线接单人接单数量具体的前三名详情？",
                "请提供客服投诉工单中一线接单人接单数量前三名的详细情况。",
                "我需要了解客服投诉工单中一线接单人接单数量的完整记录。",
                "能否查看到客服投诉工单中一线接单人接单数量详细的前三名内容？",
                "请列出客服投诉工单中一线接单人接单数量前三名的具体数据。",
                "我需要获取客服投诉工单中一线接单人接单数量详细的前三名内容。",
                "能否查询到客服投诉工单中一线接单人接单数量具体的前三名详情？",
                "请提供客服投诉工单中一线接单人接单数量前三名的具体数据。",
                "我需要了解客服投诉工单中一线接单人接单数量的详细情况。",
                "能否查看到客服投诉工单中一线接单人接单数量完整的前三名内容？",
                "请列出客服投诉工单中一线接单人接单数量前三名的详细数据。",
                "我需要获取客服投诉工单中一线接单人接单数量具体的前三名记录。",
                "能否查询到客服投诉工单中一线接单人接单数量具体的前三名详情？",
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }

    private static List<QAEntity>  T009() {
        String code = "T009";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "查询最近2天工单信息",
                "请提供最近两天的工单信息查询结果。",
                "我需要查看最近两天的工单信息。",
                "能否查询到最近两天的工单信息？",
                "请列出最近两天的工单信息数据。",
                "我需要获取最近两天的工单信息详情。",
                "能否查看到最近两天的工单信息记录？",
                "请提供最近两天的工单信息详细数据。",
                "我需要了解最近两天的工单信息具体情况。",
                "能否查看到最近两天的工单信息完整内容？",
                "请列出最近两天的工单信息详细情况。",
                "我需要获取最近两天的工单信息详细信息。",
                "能否查询到最近两天的工单信息完整记录？",
                "请提供最近两天的工单信息具体数据。",
                "我需要了解最近两天的工单信息详细情况。",
                "能否查看到最近两天的工单信息具体详情？",
                "请列出最近两天的工单信息完整数据。",
                "我需要获取最近两天的工单信息具体记录。",
                "能否查询到最近两天的工单信息具体详情？",
                "请提供最近两天的工单信息详细情况。",
                "我需要了解最近两天的工单信息完整记录。",
                "能否查看到最近两天的工单信息详细内容？",
                "请列出最近两天的工单信息具体数据。",
                "我需要获取最近两天的工单信息详细内容。",
                "能否查询到最近两天的工单信息具体详情？",
                "请提供最近两天的工单信息具体数据。",
                "我需要了解最近两天的工单信息详细情况。",
                "能否查看到最近两天的工单信息完整内容？",
                "请列出最近两天的工单信息详细数据。",
                "我需要获取最近两天的工单信息具体记录。",
                "能否查询到最近两天的工单信息具体详情？",

        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }

    private static List<QAEntity>  T010() {
        String code = "T010";
        String category = "";

        List<QAEntity> qaEntityList = null;
        List<QAEntity> allEntityList = new ArrayList<>();

        String[] questionArr = {
                "查询一共有多少工单",
                "请提供工单的总数。",
                "我需要了解一共有多少个工单。",
                "能否查询到工单的总数？",
                "请列出工单的总数数据。",
                "我需要获取工单的总数信息。",
                "能否查看到工单的总数记录？",
                "请提供工单的详细总数数据。",
                "我需要了解工单的具体情况。",
                "能否查看到工单的完整总数内容？",
                "请列出工单的详细总数情况。",
                "我需要获取工单的详细信息总数。",
                "能否查询到工单的完整总数记录？",
                "请提供工单的具体总数数据。",
                "我需要了解工单的详细情况。",
                "能否查看到工单的具体总数详情？",
                "请列出工单的完整总数数据。",
                "我需要获取工单的具体总数记录。",
                "能否查询到工单的具体总数详情？",
                "请提供工单的详细总数情况。",
                "我需要了解工单的完整总数记录。",
                "能否查看到工单的详细总数内容？",
                "请列出工单的具体总数数据。",
                "我需要获取工单的详细总数内容。",
                "能否查询到工单的具体总数详情？",
                "请提供工单的具体总数数据。",
                "我需要了解工单的详细情况。",
                "能否查看到工单的完整总数内容？",
                "请列出工单的详细总数数据。",
                "我需要获取工单的具体总数记录。",
                "能否查询到工单的具体总数详情？",
        };

        {
            qaEntityList = new ArrayList<>();
            for (String question : questionArr) {
                Map<String, Object> map = new HashMap<>();
                map.put("question", question);
                String prompt = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/prompt.ftl");
                String answerContent = null;
                String sq1 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq1.ftl");
                String sq2 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq2.ftl");
                String sq3 = FtlUtil.generateContent(map, FREEMARKER_BASE_PATH + code + "/sq3.ftl");
                QAEntity qa = new QAEntity(code, category, prompt, answerContent);
                qa.setPrompt(prompt);
                qa.setQuestionContent(question);
                qa.setSql1(sq1);
                qa.setSql2(sq2);
                qa.setSql3(sq3);
                qaEntityList.add(qa);
            }
            qaEntityList = random50List(qaEntityList);
            allEntityList.addAll(qaEntityList);
        }


        return allEntityList;
    }


    public static List<QAEntity> random50List(List<QAEntity> allList) {
        if (allList.size() > 10000) {
            List<QAEntity> newList = new ArrayList<>();
            for (int i = 0; i < 10000; i++) {
                newList.add(allList.get(RandomUtil.randomInt(0, allList.size())));
            }
            return newList;
        } else {
            return allList;
        }
    }


}
